package com.sp.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sp.common.annotation.Excel;
import com.sp.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 停车记录对象 sys_parking_record
 *
 * 
 * @date 2024-11-24
 */
public class SysParkingRecord extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 停车记录编号
     */
    private Long id;

    /**
     * 车辆ID
     */
    @Excel(name = "车辆ID")
    private Long vehicleId;

    /**
     * 进场时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "进场时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date entryTime;

    /**
     * 出场时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "出场时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date exitTime;

    /**
     * 收费金额
     */
    @Excel(name = "收费金额")
    private BigDecimal chargeAmount;

    /**
     * 停车位ID
     */
    @Excel(name = "停车位ID")
    private Long parkingSpotId;

    /**
     * 删除标志（0正常，1删除）
     */
    private String delFlag;

    /**
     * 停车位
     */
    private SysParkingSpot sysParkingSpot;

    /**
     * 车辆
     */
    private SysVehicle sysVehicle;


    public SysParkingSpot getSysParkingSpot() {
        return sysParkingSpot;
    }

    public void setSysParkingSpot(SysParkingSpot sysParkingSpot) {
        this.sysParkingSpot = sysParkingSpot;
    }

    public SysVehicle getSysVehicle() {
        return sysVehicle;
    }

    public void setSysVehicle(SysVehicle sysVehicle) {
        this.sysVehicle = sysVehicle;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setVehicleId(Long vehicleId) {
        this.vehicleId = vehicleId;
    }

    public Long getVehicleId() {
        return vehicleId;
    }

    public void setEntryTime(Date entryTime) {
        this.entryTime = entryTime;
    }

    public Date getEntryTime() {
        return entryTime;
    }

    public void setExitTime(Date exitTime) {
        this.exitTime = exitTime;
    }

    public Date getExitTime() {
        return exitTime;
    }

    public void setChargeAmount(BigDecimal chargeAmount) {
        this.chargeAmount = chargeAmount;
    }

    public BigDecimal getChargeAmount() {
        return chargeAmount;
    }

    public void setParkingSpotId(Long parkingSpotId) {
        this.parkingSpotId = parkingSpotId;
    }

    public Long getParkingSpotId() {
        return parkingSpotId;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("vehicleId", getVehicleId())
                .append("entryTime", getEntryTime())
                .append("exitTime", getExitTime())
                .append("chargeAmount", getChargeAmount())
                .append("parkingSpotId", getParkingSpotId())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("delFlag", getDelFlag())
                .toString();
    }
}
